import {
  faBars, faBook, faBuilding, faCogs, faCubes, faFighterJet,
  faFileCode, faMap, faNewspaper, faTachometerAlt,
  faTasks, faUserCog, faUsersCog, faInfoCircle, faHome, faCalendar, faTable, faChalkboardTeacher,
  faUserGraduate, faUsers, faCalendarPlus, faClone, faImages, faVideo, faFileWord,
  IconDefinition
} from '@fortawesome/free-solid-svg-icons';

export const NavMenusIcons: NavIcons = {
  faFighterJet, faUserCog, faUsersCog, faCogs, faNewspaper, faCubes, faBars, faFileCode, faBook, faMap, faBuilding
  , faTachometerAlt, faTasks, faInfoCircle, faHome, faCalendar, faTable, faChalkboardTeacher, faUserGraduate, faUsers
  , faCalendarPlus, faClone, faImages, faVideo, faFileWord
};
export const navMenus: NavMenus = {
  basic: {
    id: 'topNav'
    , name: '资源管理'
    , open: true
    , sortNum: 1
    , icon: 'copy'
    , items: {
      files: {
        id: 'files'
        , icon: NavMenusIcons["faClone"]
        , name: '文件管理'
        , router: ['/', 'nars', 'Names']
        , sortNum: 1
      }
      , images: {
        id: 'images'
        , icon: NavMenusIcons["faImages"]
        , name: '我的图片'
        , router: ['/', 'MainFrame', 'MyTasks']
        , sortNum: 2
      }
      , documents: {
        id: 'documents'
        , icon: NavMenusIcons["faFileWord"]
        , name: '我的文档'
        , router: ['/', 'MainFrame', 'FastLinks']
        , sortNum: 3

      }
      , videos: {
        id: 'videos'
        , icon: NavMenusIcons["faVideo"]
        , name: '我的视频'
        , router: ['/', 'MainFrame', 'FastLinks']
        , sortNum: 3
      }
      , zips: {
        id: 'zips'
        , icon: NavMenusIcons["faBook"]
        , name: '我的压缩包'
        , router: ['/', 'MainFrame', 'FastLinks']
        , sortNum: 3
      }
    }
  }

};


export interface NavMenus {
  [name: string]: NavMenu;
}

export interface NavMenu {
  id: string;
  name: string;
  icon: string;
  open: boolean;
  sortNum: number;
  items?: NavMenusItems;
}

export interface NavMenusItems {
  [item: string]: NavMenusItem;
}
export interface NavMenusItem {
  id: string;
  name: string;
  icon: IconDefinition;
  router: string[];
  sortNum: number;
}

export interface NavIcons {
  [name: string]: IconDefinition;
}
